
#encoding: latin-1

# Diverses constantes utilisées notamment par la classe Plateau, pour le calcul des coups optimaux, coups possibles, acceptables, etc.

# Plateau du jeu au lancement d'une partie :
#    0 pour une case vide
#    1 pour une case contenant un pion blanc
#    2 pour une case contenant un pion noir
#    3 pour une case en dehors du plateau de jeu.
PLATEAU_INITIAL = [3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
	               3, 0, 0, 0, 0, 0, 0, 0, 0, 3,
	               3, 0, 0, 0, 0, 0, 0, 0, 0, 3,
	               3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 
	               3, 0, 0, 0, 2, 1, 0, 0, 0, 3,
	               3, 0, 0, 0, 1, 2, 0, 0, 0, 3,
	               3, 0, 0, 0, 0, 0, 0, 0, 0, 3,
	               3, 0, 0, 0, 0, 0, 0, 0, 0, 3,
	               3, 0, 0, 0, 0, 0, 0, 0, 0, 3,
	               3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
             
# Cases du plateau où l'on peut mettre un pion. 
PLACER_PION_INITIAL = [11, 12, 13, 14, 15, 16, 17, 18, 
        		       21, 22, 23, 24, 25, 26, 27, 28,
		               31, 32, 33, 34, 35, 36, 37, 38,
		               41, 42, 43, 44, 45, 46, 47, 48,
		               51, 52, 53, 54, 55, 56, 57, 58,
		               61, 62, 63, 64, 65, 66, 67, 68,
		               71, 72, 73, 74, 75, 76, 77, 78,
		               81, 82, 83, 84, 85, 86, 87, 88] 
 
# Cases du plateau qui sont vides au départ d'une partie .       
CASES_VIDES_INITIAL = [11, 12, 13, 14, 15, 16, 17, 18, 
                	   21, 22, 23, 24, 25, 26, 27, 28,
               		   31, 32, 33, 34, 35, 36, 37, 38,
               		   41, 42, 43,         46, 47, 48,
               		   51, 52, 53,         56, 57, 58,
               		   61, 62, 63, 64, 65, 66, 67, 68,
              		   71, 72, 73, 74, 75, 76, 77, 78,
             		   81, 82, 83, 84, 85, 86, 87, 88]

# Valeur de chaque case, pour le calcul de ScorePosition.
# Les valeurs sont arbitraires, et mériteraient d'être réajustées par de nombreux tests en situation de duel Joueur/Ordi.
VAL_CASE = [0,  0,  0,  0,  0,  0,  0,  0,  0, 0,
            0, 20, -3, -1, -1, -1, -1, -3, 20, 0,
            0, -3, -6, -2, -2, -2, -2, -6, -3, 0,
            0, -1, -2,  0,  0,  0,  0, -2, -1, 0, 
            0, -1, -2,  0,  0,  0,  0, -2, -1, 0,
            0, -1, -2,  0,  0,  0,  0, -2, -1, 0,
            0, -1, -2,  0,  0,  0,  0, -2, -1, 0,
            0, -3, -6, -2, -2, -2, -2, -6, -3, 0,
            0, 20, -3, -1, -1, -1, -1, -3, 20, 0,
            0,  0,  0,  0,  0,  0,  0,  0,  0, 0]

# Simulr l'infini pour l'algorithme alpha-beta.
INFINITY = 1000




